package com.tbit.uqbike.client.service;

import com.tbit.uqbike.client.pojo.Machine;

/**
 * 终端控制
 *
 * @author Leon
 * 2017年2月24日 下午4:09:17
 */
public interface TerControlService {
    /**
     * 发送远程指令
     *
     * @param machineNO
     */
    void sendControl(String serNO, String machineNO, String controlType, String paramName,
                     String paramValue, Machine machine, boolean ble, Integer orderSource, Integer opId,
                     String remark);

    /**
     * 终端回复处理
     *
     * @param serNO
     * @param controlRet
     */
    void respHandle(String serNO, String controlRet);

    /**
     * 发送到ai服务器
     *
     * @param msg
     */
    void sendToQueue(String msg);

    /**
     * 发送到mq服务器
     *
     * @param msg
     */
    void sendPushMsg(String queueKey, String msg);


    /**
     * 发送到指定交换机，指定key 的mq服务器
     *
     * @param msg
     */
    void send(String exchange, String queueKey, String msgId, String feedback, String msg);

    /**
     * 借还车信息推送至ai队列
     *
     * @param accountId
     * @param userId
     * @param machineId
     * @param orderSource
     */
    void send(Integer accountId, Integer userId, Integer machineId, Integer orderSource,
              Integer result, Integer type, Integer msgId);

    /**
     * 错误信息上报
     *
     * @param machine
     * @param userId
     * @param type
     * @param error
     * @param orderNO
     */
    void sendErrorMsg(Machine machine, Integer userId, Integer type, String error, String orderNO,
                      Integer parkPointId, String message, String remark);

    /**
     * 处理一键还车逻辑
     *
     * @param data
     */
    void handelTlvs(String data);
}  